1. Field of the Invention
The present invention relates to a batch execution control programming device and method for executing, in batches, a tool to design an object such as a LEI by CAD.
2. Description of the Background Art
As a method for executing a CAD tool to design an object such as a LSI by CAD, there are a method for executing the CAD tool on a framework having the function of execution control and a user interface, and a method for executing the CAD tool according to the batch processing based on an execution control program that a programmer has created by using the batch program language, shell script and the like without using the user interface. Recently, a work for creating execution control programs to execute the same CAD tool according to the batch processing and a work for encapsulating a CAD tool to be executed on the framework into the framework have been performed separately.
FIG. 29 is a block diagram showing the structure of a device for encapsulating a tool into a framework according to the prior art. For example, the same tools for LSI design are encapsulated into a plurality of frameworks A, B, . . . for an electric system CAD which are provided by a plurality of vendors. The engineers who encapsulate tools prepare, in common, a common description D corresponding to the specification for tool encapsulation for the frameworks A, B, . . . irrespective of the language for tool encapsulation (extended language) which is exclusive to the frameworks A, B, . . . Processing systems Sa, Sb, . . . are prepared for the frameworks A, B, . . . , respectively, in advance. The processing systems Sa, Sb, . . . define processing procedures according to the functions of the frameworks A, B, . . . in such a manner that the frameworks A, B, . . . can perform tool encapsulating operation in accordance with the common description D. Consequently, if the engineer prepares a common description D for tool encapsulation, the encapsulation of the tools into the frameworks A, B, . . . can be implemented at the same time. Furthermore, if the specification for tool encapsulation is changed, the contents of the common description D are altered so that the frameworks A, B, . . . can be dealt with. Thus, maintenance work can be performed very easily. In addition, a predetermined description which is not related to the extended language for the frameworks A, B, . . . is enough for the common description D. Consequently, it is not necessary to understand the extended language.
FIG. 30 is a block diagram showing, in detail, the relationship among the common description D, one of the processing systems Sa, Sb, . . . and one of the frameworks A, B, . . . shown in FIG. 29. A processing system 2 is prepared for a framework 1 in advance. A user interface definition file 3, a parameter definition file 4 and an invocation command definition file 5 which have contents corresponding to the specification for tool encapsulation are prepared as the common description D. The processing system 2 has the function of reading the contents of the user interface definition file 3, the parameter definition file 4 and the invocation command definition file 5 and of implementing, on the framework 1, the same action as in the case where the specification for tool encapsulation is described by the extended language. Furthermore, an environment definition file 6 is provided in which it is determined whether the contents of processings of the user interface definition file 3, the parameter definition file 4 and the invocation command definition file 5 are executed according to the characteristics of the tool or not.
The user interface definition file 3, the parameter definition file 4 and the invocation command definition file 5 provide the description for defining the tool encapsulation specification dependent processing whose contents are varied according to the specification for tool encapsulation. The processing system 2 has a tool independent portion 2a and a tool dependent portion 2b. The tool independent portion 2a defines the framework function dependent processing whose contents are determined depending on only the function of the framework, and defines the procedure for causing the framework 1 to execute the framework function dependent processing. The tool dependent portion 2b defines the procedure for causing the framework 1 to execute the tool encapsulation specification dependent processing defined by the user interface definition file 3, the parameter definition file 4 and the invocation command definition file 5. The processing system 2 is applied to the framework 1 and the definition files 3 to 6 are provided to the processing system 2 so that the encapsulation of the tool into the framework 1 is implemented by one or more of the user interface definition file 3, the parameter definition file 4 and the invocation command definition file 5 specified for use by the environment definition file 6.
The environment definition file 6 provides the description for defining whether or not the user interface definition file 3, the parameter definition file 4 and the invocation command definition file 5 are used. FIG. 7 shows an example of the environment definition file 6.
As described above, the tool is encapsulated into the framework. A beginner who is not used to CAD operation had better perform execution by using the framework. However, an instructor or expert in CAD operation had better perform execution in batches so as to increase efficiency.
However, the knowledges of the execution control programming language and the program technique are necessary for batch execution control programming. For this reason, it takes time to create the program and it is hard for people other than those who developed a program to modify the program.
Thus, the execution processing using the framework and the execution processing performed according to the batch execution control program have advantages and disadvantages respectively. Accordingly, it is desired that both processings are used together.
Under the circumstances, however, the encapsulating processing into the framework and the batch execution control programming processing are performed for the same CAD tool entirely independent of each other. For this reason, the development and maintenance of respective processings should be performed. Consequently, a double load is imposed and the contents of operation make a difference in the stages of development and maintenance.